package org.wisteria.framework.web.mvc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.wisteria.framework.web.QueryResult;
import org.wisteria.framework.web.mvc.vo.ConditionVO;

import java.io.Serializable;
import java.util.Collection;

/**
 * @param <T>   实体
 */
public interface ISuperService<T> extends IService<T> {

    /**
     * 分页查询
     * @param condition 查询条件
     * @param pageNum   页码
     * @param pageSize  每页条数
     * @return
     */
    QueryResult pageList(ConditionVO condition, int pageNum, int pageSize);

    /**
     * 删除数据并记录操作信息
     *
     * @param ids          ID集合
     * @param modifiedId   操作人ID
     * @param modifiedName 操作人名称
     */
    boolean removeByIds(Collection<? extends Serializable> ids, String modifiedId, String modifiedName);
}
